package com.syh.jn.scm.dto.upstream.sale;

import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * 上游销售订单vo
 */
@Data
public class UpSaleOrderVo implements Serializable {
  /**
   * id
   */
  private Long id;
  /**
   * 销售订单编号
   */
  private String code;
  /**
   * 采购订单类型(0：普通采购 1：直采直销 )
   */
  private Short orderType;
  /**
   * 销售订单id(当选择了直采直发时)
   */
  private Long salesOrderId;
  /**
   * 扩展编号
   */
  private String extCode;
  /**
   * 销售订单状态(0：待确认 1：已确认 2：挂起 3：已生成对账单 -1：已取消)
   */
  private Short ordState;
  /**
   * 收货人姓名
   */
  private String deliName;
  /**
   * 收货人联系电话
   */
  private String deliTel;
  /**
   * 要求到货时间
   */
  private Long receiveTimestamp;
  /**
   * 收货地区编码
   */
  private String deliAreaCode;
  /**
   * 收货地址省 市 区
   */
  private String deliArea;
  /**
   * 收货人详细地址
   */
  private String deliAddress;
  /**
   * 发货地区编码
   */
  private String upDeliAreaCode;
  /**
   * 发货地址省 市 区
   */
  private String upDeliArea;
  /**
   * 发货人详细地址
   */
  private String upDeliAddress;
  /**
   * 订单备注
   */
  private String remark;
  /**
   * 优惠金额
   */
  private BigDecimal discount;
  /**
   * 订单总额
   */
  private BigDecimal totalAmount;
  /**
   * 入库总额
   */
  private BigDecimal totalInAmount;
  /**
   * 入库商品总额
   */
  private BigDecimal totalInGoodsAmount;
  /**
   * 出库总额
   */
  private BigDecimal totalOutAmount;
  /**
   * 出库商品总额
   */
  private BigDecimal totalOutGoodsAmount;
  /**
   * 运费金额
   */
  private BigDecimal totalFreight;
  /**
   * 商品总额
   */
  private BigDecimal goodsTotalAmount;
  /**
   * 创建日期
   */
  private Long createTimeStamp;
  /**
   * 最后修改日期
   */
  private Long lastUpdateTimeStamp;
  /**
   * 录入日期
   */
  private Long inputDateTimestamp;
  /**
   * 发货时间
   */
  private Long deliveryTimestamp;
  /**
   * 录单人员id
   */
  private Long operatorId;
  /**
   * 订单账期
   */
  private Integer accountPeriod;
  /**
   * 物流生成状态(0：未生成物流单 1：部分生成物流单2：完成生成物流单)
   */
  private Short generatedState;
    /**
     * 发货状态(0：未发货 1：部分发货 2：完成发货)
     */
  private Short deliveryState;
  /**
   * 签收状态(0：未签收 1：部分签收 2：完成签收)
   */
  private Short collectState;
  /**
   * 对账单id
   */
  private Long statementId;
  /**
   * 上游单据图片
   */
  private String secondSrcImages;
  /**
   * 服务商名称
   */
  private String businessEntityName;
  /**
   * 版本号
   */
  private Long version;
  /**
   * items
   */
  private List<UpSaleOrderItemVo> items;
}
